package com.hotline.communication.entity;


import lombok.Data;
import java.io.Serializable;
import java.util.Date;

@Data
public class CallLog implements Serializable {

    /**
     * 呼叫流水
     */
    private String callId;

    /**
     * 来电号码
     */
    private String callerNo;

    /**
     * 被叫号码
     */
    private String calledNo;

    /**
     * 进入IVR时间
     */
    private Date inIvrTime;

    /**
     * 进入队列时间
     */
    private Date inQueueTime;

    /**
     * 进入座席时间
     */
    private Date inSeatTime;

    /**
     * 开始振铃时间
     */
    private Date ringTime;

    /**
     * 挂机时间
     */
    private Date outTime;

    /**
     * 机构代码
     */
    private String unitCode;

    /**
     * 接听座席机构代码
     */
    private String inSeatUnitCode;

    /**
     * 呼叫类型 0 呼入  1呼出
     */
    private Integer callType;

    /**
     * 通道号码
     */
    private Integer channelNo;

    /**
     * 外呼时用户id
     */
    private String callOutUserId;

    /**
     * 用户ID
     */
    private String userId;

    /**
     * 用户ID
     */
    private String userName;

    /**
     * 工号
     */
    private String workNumber;

    /**
     * 是否排队
     */
    private Integer isQueue;

    /**
     * ivr按键轨迹
     */
    private String ivrKeyTrace;

    /**
     * ivr按键轨迹名称
     */
    private String ivrKeyTraceName;

    /**
     * 放弃队列时间
     */
    private Date  outQueueTime;

    /**
     * 进虚拟队列时间
     */
    private Date  inVirtualQueueTime;

    /**
     * 操作类型：1：进 IVR2：无需排队(传统队列)3：开始通话 4：挂机 5：需要排队(传统队列) 6：进虚拟队列(传统队列) 7：出虚拟队列(传统队列) 8：ASR无需排队 9：ASR需要排队 10：ASR进虚拟队列 11：ASR出虚拟队列
     */
    private Integer queueType;

    /**
     * ASR进虚拟队列时
     */
    private Date asrInQueueTime;

    /**
     * ASR放弃队列时间
     */
    private Date asrOutQueueTime;

    /**
     * 第一次进队列时间
     */
    private Date firstInQueueTime;

    /**
     * 排队次数
     */
    private Integer queueTimes;

    /**
     * 是否分派
     */
    private Integer isAssign;

    /**
     * 是否回呼
     */
    private Integer isCallBack;

    /**
     * 分派人用户ID
     */
    private String assignUserId;

    /**
     * 分派人用户姓名
     */
    private String assignUserName;

    /**
     * 分派时间
     */
    private Date assignTime;

    /**
     * 回呼时间
     */
    private Date callBackTime;

    /**
     * 是否呼损记录 是：1 否：0
     */
    private Integer isLossCall;

    /**
     * 是否振铃呼损记录 是：1 否：0
     */
    private Integer isRingLossCall;
    /**
     * 是否振铃呼损记录 是：1 否：0
     */
    private Integer ringLossCallCode;

    /**
     * 久不应答用户ID
     */
    private String noAnswerUserId;

    /**
     * 久不应答用户姓名
     */
    private String noAnswerUserName;

    /**
     * 呼损处理人ID
     */
    private String handlerId;

    /**
     * 呼损处理人名称
     */
    private String handlerName;

    /**
     * 是否已发送短信：已发送：1，未发送：0
     */
    private Integer isSmsSend;

    /**
     * IVR节点名称
     */
    private String ivrName;

    /**
     * 按键值
     */
    private String keyValue;


    /**
     * ivr场景id
     */
    private String ivrScenarioId;

    /**
     * ivr场景类型
     */
    private Integer ivrScenarioTypeCode;

    /**
     * 是否计入呼损，是，1，否，0
     */
    private Integer isIncludedCallLoss;

    /**
     * 外网是否接通，是，1，否，0
     */
    private Integer isCalloutConnected;

    /**
     * 是否留言记录，是，1，否，0
     */
    private Integer isRecord;

}
